package com.ruoyi.report_jl.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 矿粉密度、含水率、亲水系数、加热安定性试验检测记录业务对象 report_jl_kfmdhslsyjlb_bs_info
 *
 * @author tll
 * @date 2024-06-27
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportJlKfmdhslsyjlbBsInfoBo extends ExcelGeneralBo {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotNull(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 试验检测日期
     */
    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 报表名称
     */
    @NotBlank(message = "报表名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baobmc;

    /**
     * 报表编号
     */
    @NotBlank(message = "报表编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baobbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 检测人
     */
    @NotBlank(message = "检测人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancr;

    /**
     * 记录人
     */
    @NotBlank(message = "记录人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilr;

    /**
     * 复核人
     */
    @NotBlank(message = "复核人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuhr;

    /**
     * 日期
     */
    @NotNull(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date riq;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 设备id逗号分隔
     */
    @NotBlank(message = "设备id逗号分隔不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @NotBlank(message = "判定依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 密度试验次数1
     */
    @NotBlank(message = "密度试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String midsycsItem1;

    /**
     * 密度试验干燥质量1行1
     */
    @NotNull(message = "密度试验干燥质量1行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsygzzl1Item1;

    /**
     * 密度试验干燥质量2行1
     */
    @NotNull(message = "密度试验干燥质量2行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsygzzl2Item1;

    /**
     * 密度试验初读数行1
     */
    @NotNull(message = "密度试验初读数行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsycdsItem1;

    /**
     * 密度试验终读数行1
     */
    @NotNull(message = "密度试验终读数行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsyzdsItem1;

    /**
     * 密度试验矿粉密度测值行1
     */
    @NotNull(message = "密度试验矿粉密度测值行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsykfmdczItem1;

    /**
     * 密度试验水温度行1
     */
    @NotNull(message = "密度试验水温度行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsyswdItem1;

    /**
     * 密度试验水密度行1
     */
    @NotNull(message = "密度试验水密度行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsysmdItem1;

    /**
     * 密度试验相对密度测值行1
     */
    @NotNull(message = "密度试验相对密度测值行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsyxdmdczItem1;

    /**
     * 密度试验次数2
     */
    @NotBlank(message = "密度试验次数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private String midsycsItem2;

    /**
     * 密度试验干燥质量1行2
     */
    @NotNull(message = "密度试验干燥质量1行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsygzzl1Item2;

    /**
     * 密度试验干燥质量2行2
     */
    @NotNull(message = "密度试验干燥质量2行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsygzzl2Item2;

    /**
     * 密度试验初读数行2
     */
    @NotNull(message = "密度试验初读数行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsycdsItem2;

    /**
     * 密度试验终读数行2
     */
    @NotNull(message = "密度试验终读数行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsyzdsItem2;

    /**
     * 密度试验矿粉密度测值行2
     */
    @NotNull(message = "密度试验矿粉密度测值行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsykfmdczItem2;

    /**
     * 密度试验水温度行2
     */
    @NotNull(message = "密度试验水温度行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsyswdItem2;

    /**
     * 密度试验水密度行2
     */
    @NotNull(message = "密度试验水密度行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsysmdItem2;

    /**
     * 密度试验相对密度测值行2
     */
    @NotNull(message = "密度试验相对密度测值行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsyxdmdczItem2;

    /**
     * 密度试验矿粉密度测值平均值
     */
    @NotNull(message = "密度试验矿粉密度测值平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal midsykfmdczPjz;

    /**
     * 含水率试验次数1
     */
    @NotNull(message = "含水率试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsycsItem1;

    /**
     * 含水率试验盒湿土质量行1
     */
    @NotNull(message = "含水率试验盒湿土质量行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhstzlItem1;

    /**
     * 含水率试验盒干土质量行1
     */
    @NotNull(message = "含水率试验盒干土质量行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhgtzlItem1;

    /**
     * 含水率试验盒质量行1
     */
    @NotNull(message = "含水率试验盒质量行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhzlItem1;

    /**
     * 含水率试验含水率测值行1
     */
    @NotNull(message = "含水率试验含水率测值行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhslczItem1;

    /**
     * 含水率试验次数2
     */
    @NotNull(message = "含水率试验次数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsycsItem2;

    /**
     * 含水率试验盒湿土质量行2
     */
    @NotNull(message = "含水率试验盒湿土质量行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhstzlItem2;

    /**
     * 含水率试验盒干土质量行2
     */
    @NotNull(message = "含水率试验盒干土质量行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhgtzlItem2;

    /**
     * 含水率试验盒质量行2
     */
    @NotNull(message = "含水率试验盒质量行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhzlItem2;

    /**
     * 含水率试验含水率测值行2
     */
    @NotNull(message = "含水率试验含水率测值行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhslczItem2;

    /**
     * 含水率试验含水率测值平均值
     */
    @NotNull(message = "含水率试验含水率测值平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal hanslsyhslczPjz;

    /**
     * 亲水系数试验次数1
     */
    @NotNull(message = "亲水系数试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssycsItem1;

    /**
     * 亲水系数试验水中沉淀物体积行1
     */
    @NotNull(message = "亲水系数试验水中沉淀物体积行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssyszcdwtjItem1;

    /**
     * 亲水系数试验煤油中沉淀物体积行1
     */
    @NotNull(message = "亲水系数试验煤油中沉淀物体积行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssymyzcdwtjItem1;

    /**
     * 亲水系数试验试样亲水系统测值行1
     */
    @NotNull(message = "亲水系数试验试样亲水系统测值行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssysyqsxtczItem1;

    /**
     * 亲水系数试验次数2
     */
    @NotNull(message = "亲水系数试验次数2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssycsItem2;

    /**
     * 亲水系数试验水中沉淀物体积行2
     */
    @NotNull(message = "亲水系数试验水中沉淀物体积行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssyszcdwtjItem2;

    /**
     * 亲水系数试验煤油中沉淀物体积行2
     */
    @NotNull(message = "亲水系数试验煤油中沉淀物体积行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssymyzcdwtjItem2;

    /**
     * 亲水系数试验试样亲水系统测值行2
     */
    @NotNull(message = "亲水系数试验试样亲水系统测值行2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssysyqsxtczItem2;

    /**
     * 亲水系数试验试样亲水系统测值平均值
     */
    @NotNull(message = "亲水系数试验试样亲水系统测值平均值", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal qinsxssysyqsxtczPjz;

    /**
     * 加热安定性试验次数1
     */
    @NotNull(message = "加热安定性试验次数1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiaradxsycsItem1;

    /**
     * 加热安定性试验试样质量行1
     */
    @NotNull(message = "加热安定性试验试样质量行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiaradxsysyzlItem1;

    private BigDecimal h11;
    private BigDecimal h12;
    private Long heh11Id;
    private Long heh12Id;

    /**
     * 加热安定性试验颜色变化情况行1
     */
    @NotBlank(message = "加热安定性试验颜色变化情况行1不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiaradxsyysbhqkItem1;

    @NotNull(message = "子表", groups = { AddGroup.class, EditGroup.class })
    private List<Object> detailList;

    @NotNull(message = "报表编号集", groups = { AddGroup.class, EditGroup.class })
    private List<String> baobbhList;

    /**
     * 样品缩分方法1
     */
    private String yangpsfff1;
    /**
     * 浸没液体名称
     */
    private String jinmytmc;
    /**
     * 恒温温度（℃）
     */
    private String hengwwd;
    /**
     * 浸泡时间
     */
    private String jinpsj;
    /**
     * 样品缩分方法2
     */
    private String yangpsfff2;
    /**
     * 烘干温度（℃）
     */
    private String honggwd;
    /**
     * 烘干时间
     */
    private String honggsj;
    /**
     * 样品缩分方法3
     */
    private String yangpsfff3;
    /**
     * 水中体积11
     */
    private String shuiztj11;
    /**
     * 水中体积12
     */
    private String shuiztj12;
    /**
     * 水中体积13
     */
    private String shuiztj13;
    /**
     * 水中体积21
     */
    private String shuiztj21;
    /**
     * 水中体积22
     */
    private String shuiztj22;
    /**
     * 水中体积23
     */
    private String shuiztj23;
    /**
     * 煤油体积11
     */
    private String meiytj11;
    /**
     * 煤油体积12
     */
    private String meiytj12;
    /**
     * 煤油体积13
     */
    private String meiytj13;
    /**
     * 煤油体积21
     */
    private String meiytj21;
    /**
     * 煤油体积22
     */
    private String meiytj22;
    /**
     * 煤油体积23
     */
    private String meiytj23;
    /**
     * 水中沉淀物体积平均值（mL）
     */
    private String shuizcdwtjpjz;
    /**
     * 煤油中沉淀物体积平均值（mL）
     */
    private String meiyzcdwtjpjz;
    /**
     * 样品缩分方法4
     */
    private String yangpsfff4;
}
